The present invention generally relates to methods and systems for executing business or application software for office use such as accounting and more particularly to a method and a system for executing software formed of software components.
Corporate activities include a large amount of clerical works, accounting is an example. Most of such clerical works can be processed more or less automatically by employing business software that supports such clerical activities. However, the development of such business software generally requires a large amount of human resources. Particularly, such business software requires frequent revision in correspondence to the revision of laws, rules, etc., while such revision generally includes extensive modification or rewriting of the software program. Further, the software has to be adapted to the clerical process of each customer.
In order to facilitate such a revision or modification of software, it is proposed to construct the software from software components and concentrate the human resource to the modification or rewriting of only those pertinent software components. In other words, such software can be revised by merely replacing pertinent software components, without extensive rewriting of the program.
Conventionally, three types of such component software construction are known.
(1) SUBROUTINES
By incorporating a hierarchy of "calling routine" and "called routine," it is possible to construct the software in terms of software components. Conventional computers already have a control mechanism for executing subroutines and returning to the calling routine after completion of the subroutines. Such a control mechanism controls the flow of execution steps between the calling routines and called routines and forms an essential element of the software that is formed of software components. For example, execution of software components by way of PERFORM statement of COBOL language may be regarded as a subroutine.
(2) OBJECTS
Objects form a unit of software wherein the processing therein is concealed from outside. By decomposing software into such objects, one can execute software by sending a suitable message from an object to another object. The object that has received the message carries out a predetermined processing. In such a construction, one can construct the software to carry out a desired operation by merely providing a flow of processing between objects. Thus, one can regard the object as a software component. The mechanism for sending messages between objects and causing the objects to carry out respective, predetermined processing, is already realized in existing computer systems.
(3) EVENT-DRIVEN ROUTINES
Event-driven routines are executed in response to an occurrence of a particular event. Such event-driven routines may be regarded as a software component. The mechanism for executing an event-driven routine in response to an occurrence of a corresponding event is already realized in existing computer systems. There are various known event-driven systems, some of which are described below.